// 封装微信小程序的网络请求 => 降低耦合性, 使用Promise解决回调地狱, 更优雅

// 全局配置
const BASE_OPTIONS = {
  baseURL: 'http://123.207.32.32:8000/api/h8',
  // baseURL: 'http://httpbin.org',
  timeout: 1000 * 20
}

// 通用方法封装 GET、POST...
function request(url, method, params = {}) {
  console.log("[网络请求] =>", method, url, params);
  return new Promise((reslove, reject) => {
    wx.request({
      url: BASE_OPTIONS.baseURL + url,
      method: method,
      data: params,
      // 因为成功和失败的回调需要的参数就是一个回调函数, reslove与reject就是一个回调函数, 直接传递就好
      // success: reslove,
      // fail: reject
      success: res => reslove(res.data),
      fail: err => reject(err.data),
    })
  })
}

// GET
export const GET = (url, params) => {
  return request(url, 'GET', params);
}

// POST
export const POST = (url, params) => {
  return request(url, 'POST', params);
}
